/* eslint-disable @typescript-eslint/no-unused-vars */
import { request } from "@umijs/max";

export const loadAllmedicinesAPI = () => {
  return request("/admin/medicines", {
    params: {
      per: 1000,//获取1000条记录
    }
  })
}

export const loadDataAPI = async (
  // 第一个参数 params 查询表单和 params 参数的结合
  // 第一个参数中一定会有 pageSize 和  current ，这两个参数是 antd 的规范
  params: any & {
    pageSize: number;
    current: number;
  },
  //@ts-ignore
  sort,
  //@ts-ignore
  filter,
) => {
  // 这里需要返回一个 Promise,在返回之前你可以进行数据转化
  // 如果需要转化参数可以在这里进行修改
  /*  const msg = await myQuery({
    page: params.current,
    pageSize: params.pageSize,
  }); */
  console.log(params);

  const { pageSize, current, ...others } = params
  const res = await request('/admin/medicines', {
    params: {
      ...others,
      page: params.current,
      per: params.pageSize
    }
  })
  console.log(res);

  return {
    data: res.data.list,
    // success 请返回 true，
    // 不然 table 会停止解析数据，即使有数据
    success: true,
    // 不传会使用 data 的长度，如果是分页一定要传
    total: res.data.total,
  };
}

/**
 * 根据id获取数据
 * @param id 
 * @returns 
 */
export const loadOneByIdAPI = (id: string) => request("/admin/medicines/" + id)

/**
 * 新增
 * @param data 
 * @returns 
 */
export const addOneAPI = (data: any) => {
  return request("/admin/medicines", {
    method: "POST",
    data,
  })
}

/**
 * 根据id修改
 * @param id 
 * @param data 
 * @returns 
 */
export const modifyByIdAPI = (id: string, data: any) => {
  return request("/admin/medicines/" + id, {
    method: "PATCH",
    data
  })
}

/**
 * 根据id删除一个
 * @param id 
 */
export const deleteByIdAPI = (id: string) =>
  request("/admin/medicines/" + id, {
    method: "DELETE"
  })


/**
 * 批量删除数据
 * @param ids 多个id使用，分隔
 * @returns 
 */
export const deleteManyByIds = (ids: string) =>
  request("/admin/medicines/remove_many", {
    params: {
      ids,
    },
    method: "DELETE"
  })